<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
<script>
	// * await右侧的表达式一般为promise对象, 但也可以是其它的值
	{
		async function fn(){
			// const num = await 1;// const num = 1;
			// console.log(num);

            // 如果表达式是一个Promise实例，那么该表达式的结果是Promise实例的成功值
			// const num = await new Promise((resolve,reject)=>{
			// 	resolve(200);
			// });
			// console.log(num);

            // 如果await右侧是一个失败的Promise实例，会抛出异常，异常的信息是失败值
            // try{
			// 	const num = await new Promise((resolve,reject)=>{
			// 		reject(200);
			// 	});
            // }catch (err){
			// 	console.log(err);
            // }

            // 如果右侧是Promise实例，后续的代码会异步执行
            const num = await new Promise(resolve=>resolve(200));
			console.log(num);
        }
		const p = fn();
		console.log(p);
    }
	// * 如果表达式是promise对象, await返回的是promise成功的值
	// * 如果表达式是其它值, 直接将此值作为await的返回值
    // async可以不使用await ,await必须要写在async函数中。

</script>
</html>